package com.hermes.biz.manager.item;

import java.util.List;

import com.hermes.biz.common.model.item.ItemDO;
import com.hermes.biz.common.model.result.ItemResultDO;

public interface ItemOperateManager {

    /**
     * @return
     */
    public List<ItemDO> getAllItemList(long start, long end);

    /**
     * @param itemName
     * @return
     */
    public ItemResultDO getSingleItemByItemName(String itemName);

    /**
     * @param itemId
     * @return
     */
    public ItemResultDO getSingleItemByItemId(long itemId);

    /**
     * @param itemDO
     */
    public void saveSingleItem(ItemDO itemDO);

    /**
     * @param itemId
     */
    public void deleteSingleItemByItemId(long itemId);

    /**
     * @param itemDO
     */
    public void updateSingleItem(ItemDO itemDO);

    /**
     * @param itemDO
     */
    public void updateSingleItemLovedNumber(ItemDO itemDO);

    /**
     * @param itemDO
     */
    public void updateSingleItemClickNumber(ItemDO itemDO);

    /**
     * @param tagId
     * @return
     */
    public List<ItemDO> getItemByItemTagId(long tagId, long start, long end);

    /**
     * @param tagId
     * @return
     */
    public long countItemNumber(long tagId);

    /**
     * @param tagId
     * @return
     */
    public long countIndexPageItemNumber();

}
